[Beta] every client's approved counterparties
curl --request GET \
--url https://api.range.org/v2/screening/counterparties \
--header 'X-API-KEY: <api-key>'import requests
url = "https://api.range.org/v2/screening/counterparties"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://api.range.org/v2/screening/counterparties', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.range.org/v2/screening/counterparties",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.range.org/v2/screening/counterparties"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.range.org/v2/screening/counterparties")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.range.org/v2/screening/counterparties")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"items": [
{
"counterparty_id": "3f0a3c1e-6b1d-5f2a-8e44-9a0b1c2d3e4f",
"client_entity_id": "6859927c-292e-4077-8d6a-70542c00a267",
"counterparty_entity_id": "<string>",
"address": "0x8589427373d6d84e98730d7795d8f6f8731fda16",
"network": "eth",
"beneficiary_name": "Halvard Capital AG",
"status": "clear",
"checks": [
{
"kind": "address_risk",
"check_type": "range_address_risk",
"label": "Range address risk",
"provider": "range",
"provider_used": null,
"status": "pass",
"screened_at": "2026-10-07T09:12:03.120Z",
"note": null,
"reason": {
"code": "not_approved_counterparty",
"check_type": "approved_counterparties",
"policy_key": "client.whitelist",
"message": "Not one of the client's approved counterparties"
},
"risk_tier": "low",
"travel_rule_status": "complete",
"provider_detail": {
"provider_status": "SETTLED"
},
"evidence": {
"screen_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"score": 100,
"sanctioned": true,
"signals": [
{
"signal": "eu-sanctioned",
"name": "EU Sanctioned",
"pillar": "exposure",
"severity": "severe",
"summary": "1.24% of counterparty volume is eu-sanctioned, crossing the 1% (severe) threshold.",
"confidence": null,
"rule": {
"name": "Sanctions exposure",
"threshold": "1% (severe)"
}
}
],
"listings": [
{
"authority": "OFAC",
"program": "SDN",
"list_key": "us_ofac_sdn",
"listed_at": "2022-04-14",
"delisted_at": null
}
],
"attribution": [
{
"name": "Lazarus Group",
"category": "sanctions",
"role": "owner",
"polarity": "risk",
"confidence": 98
}
],
"exposures": [
{
"name": "Tornado Cash",
"category": "mixer",
"direction": "incoming",
"hop": "direct",
"share": 0.123,
"share_basis": "total-volume",
"usd": 45210
}
],
"totals": {
"incoming_usd": 367000,
"outgoing_usd": 120000,
"flagged_incoming_usd": 45210,
"flagged_outgoing_usd": 0
},
"data_as_of": "2026-10-08T09:00:00Z",
"provider_used": "chainalysis"
}
}
],
"reasons": [
{
"code": "not_approved_counterparty",
"check_type": "approved_counterparties",
"policy_key": "client.whitelist",
"message": "Not one of the client's approved counterparties"
}
],
"last_screened_at": "<string>",
"case_id": "<string>"
}
],
"meta": {
"next_cursor": "eyJpZCI6IjkxeFFlV3Z...",
"previous_cursor": "eyJpZCI6IjkxeFFlV3Z...",
"first_page_cursor": "eyJpZCI6IjkxeFFlV3Z...",
"last_page_cursor": "eyJpZCI6IjkxeFFlV3Z...",
"total_count": 100,
"page_number": 1
}
}Screening
[Beta] every client's approved counterparties
GET
/
v2
/
screening
/
counterparties
[Beta] every client's approved counterparties
curl --request GET \
--url https://api.range.org/v2/screening/counterparties \
--header 'X-API-KEY: <api-key>'import requests
url = "https://api.range.org/v2/screening/counterparties"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://api.range.org/v2/screening/counterparties', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.range.org/v2/screening/counterparties",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.range.org/v2/screening/counterparties"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.range.org/v2/screening/counterparties")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.range.org/v2/screening/counterparties")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"items": [
{
"counterparty_id": "3f0a3c1e-6b1d-5f2a-8e44-9a0b1c2d3e4f",
"client_entity_id": "6859927c-292e-4077-8d6a-70542c00a267",
"counterparty_entity_id": "<string>",
"address": "0x8589427373d6d84e98730d7795d8f6f8731fda16",
"network": "eth",
"beneficiary_name": "Halvard Capital AG",
"status": "clear",
"checks": [
{
"kind": "address_risk",
"check_type": "range_address_risk",
"label": "Range address risk",
"provider": "range",
"provider_used": null,
"status": "pass",
"screened_at": "2026-10-07T09:12:03.120Z",
"note": null,
"reason": {
"code": "not_approved_counterparty",
"check_type": "approved_counterparties",
"policy_key": "client.whitelist",
"message": "Not one of the client's approved counterparties"
},
"risk_tier": "low",
"travel_rule_status": "complete",
"provider_detail": {
"provider_status": "SETTLED"
},
"evidence": {
"screen_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"score": 100,
"sanctioned": true,
"signals": [
{
"signal": "eu-sanctioned",
"name": "EU Sanctioned",
"pillar": "exposure",
"severity": "severe",
"summary": "1.24% of counterparty volume is eu-sanctioned, crossing the 1% (severe) threshold.",
"confidence": null,
"rule": {
"name": "Sanctions exposure",
"threshold": "1% (severe)"
}
}
],
"listings": [
{
"authority": "OFAC",
"program": "SDN",
"list_key": "us_ofac_sdn",
"listed_at": "2022-04-14",
"delisted_at": null
}
],
"attribution": [
{
"name": "Lazarus Group",
"category": "sanctions",
"role": "owner",
"polarity": "risk",
"confidence": 98
}
],
"exposures": [
{
"name": "Tornado Cash",
"category": "mixer",
"direction": "incoming",
"hop": "direct",
"share": 0.123,
"share_basis": "total-volume",
"usd": 45210
}
],
"totals": {
"incoming_usd": 367000,
"outgoing_usd": 120000,
"flagged_incoming_usd": 45210,
"flagged_outgoing_usd": 0
},
"data_as_of": "2026-10-08T09:00:00Z",
"provider_used": "chainalysis"
}
}
],
"reasons": [
{
"code": "not_approved_counterparty",
"check_type": "approved_counterparties",
"policy_key": "client.whitelist",
"message": "Not one of the client's approved counterparties"
}
],
"last_screened_at": "<string>",
"case_id": "<string>"
}
],
"meta": {
"next_cursor": "eyJpZCI6IjkxeFFlV3Z...",
"previous_cursor": "eyJpZCI6IjkxeFFlV3Z...",
"first_page_cursor": "eyJpZCI6IjkxeFFlV3Z...",
"last_page_cursor": "eyJpZCI6IjkxeFFlV3Z...",
"total_count": 100,
"page_number": 1
}
}Authorizations
AuthorizationAuthorization
Authorization method required to allow user to access the api endpoints.
Query Parameters
Maximum string length:
128Required range:
1 <= x <= 200Was this page helpful?